const request = require('@/utils/request');
const queryUser = require('@/models/we-app/wx-login');

/**
 * @description 获取微信用户信息
 * @param {string}  code.query.required   微信 wx.login code
 */
module.exports = (req, res) => {
  let host = 'api.weixin.qq.com';
  let path = '/sns/jscode2session?';
  let data = {
    appid: process.env.appid, // 小程序后台管理的 appid
    secret: process.env.secret, // 小程序后台管理的 secret
    grant_type: 'authorization_code', // 授权（必填）默认值
    js_code: req.query.code // 获取小程序传来的code
  };
  request
    .httpGet({ host, data, path, https: true })
    .then(function (body) {
      body = JSON.parse(body);
      let openid = body.openid; // 得到 openid
      let sessionKey = body.session_key; // 得到 session_key
      if (body.errcode) {
        res.send({
          code: 1003,
          data: body,
          msg: '请求失败'
        });
      } else {
        console.log(openid, sessionKey); // 用户的一些信息
        queryUser(req, res, sessionKey, openid); // 查找用户数据（暂不做处理）
      }
    })
    .catch(function (err) {
      return res.send({
        code: 400,
        text: '网络好像有点问题',
        msg: err
      });
    });
};
